package com.ruoyi.binance.service;

import java.util.List;

import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.ruoyi.binance.domain.BinanceAutoSingleCell;
import com.ruoyi.binance.domain.BinanceAverageBuySell;
import com.ruoyi.binance.domain.BinanceDailyMarket;

/**
 * 日行情Service接口
 * 
 * @author zq
 * @date 2025-09-10
 */
public interface IBinanceDailyMarketService 
{
    /**
     * 查询日行情
     * 
     * @param code 日行情主键
     * @return 日行情
     */
    public BinanceDailyMarket selectBinanceDailyMarketByCodeAndDate(String code, String date);

    /**
     * 查询日行情列表
     * 
     * @param binanceDailyMarket 日行情
     * @return 日行情集合
     */
    public List<BinanceDailyMarket> selectBinanceDailyMarketList(BinanceDailyMarket binanceDailyMarket);

    /**
     * 新增日行情
     * 
     * @param binanceDailyMarket 日行情
     * @return 结果
     */
    public int insertBinanceDailyMarket(BinanceDailyMarket binanceDailyMarket);

    /**
     * 修改日行情
     * 
     * @param binanceDailyMarket 日行情
     * @return 结果
     */
    public int updateBinanceDailyMarket(BinanceDailyMarket binanceDailyMarket);

    /**
     * 批量删除日行情
     * 
     * @param codes 需要删除的日行情主键集合
     * @return 结果
     */
    public int deleteBinanceDailyMarketByCodes(String[] codes);

    /**
     * 删除日行情信息
     * 
     * @param code 日行情主键
     * @return 结果
     */
    public int deleteBinanceDailyMarketByCode(String code);

    public void saveOrUpdateTradingDay(String code, JSONObject jsonObject);

    public void saveOrUpdateTradingDay(String code, JSONArray jsonArray);

    public void autoHighAndLowRange(BinanceAverageBuySell bean);

    public void autoHighAndLowRange(BinanceAutoSingleCell bean);

    public void autoHighAndLowRange(BinanceAverageBuySell bean, String date);

    public void autoHighAndLowRange(BinanceAutoSingleCell bean, String date);

}
